// 定义特质 Logger
trait Logger {
  // 具体方法 log，记录消息到日志
  def log(message: String): Unit = println(s"Logging: $message")
}

// 定义类 Calculator，扩展 Logger 特质
class Calculator extends Logger {
  // 具体方法 add，返回两个整数的和
  def add(x: Int, y: Int): Int = {
    // 调用 log 方法记录操作和结果
    log(s"Adding $x and $y")
    val result = x + y
    log(s"Result: $result")
    result
  }

  // 具体方法 subtract，返回两个整数的差
  def subtract(x: Int, y: Int): Int = {
    // 调用 log 方法记录操作和结果
    log(s"Subtracting $y from $x")
    val result = x - y
    log(s"Result: $result")
    result
  }
}

// 测试代码
object Main extends App {
  val calculator = new Calculator()
  println("Addition result: " + calculator.add(5, 3))
  println("Subtraction result: " + calculator.subtract(10, 4))
}
